'use strict';
app.factory('SearchService', function(HttpUtilService,$q) {
        /***
         * 店铺搜索
         * 模糊查询店铺，查询条件允许为空，显示所有的店铺，按默认排序
         * @param seller_name 店铺名字  允许为空
         * @param order_by 排序 排序规则（0-综合；1-销量；2-满意度；3-关注度）
         * @returns {AnimateRunner.promise|*|qFactory.Deferred.promise|td.f.promise|f.promise}
         * {
         * seller_title 加盟商名字
         * seller_id id
         * seller_icon logo
         * seller_grade int 满意度，即3项平均分
         * seller_collect int 收藏度
         * goods_list 商品列表，JSON格式
         * }
         */
        function searchJoinIn(seller_name,order_by){
            var deferred = $q.defer();
            HttpUtilService.httpPostNoToken("Search/JoinIn",{seller_name:seller_name,order_by:order_by})
                .then(function (response) {
                    if(response.code == "000000"){
                        deferred.resolve(response.ProvisionInfo)
                    } else {
                        console.log("searchJoinIn code:"+ response.code)
                    }
                },function (error) {
                    console.log("searchJoinIn error:"+ error)
                })
            return deferred.promise;
        }

        /***
         *  搜索商品
         *  模糊查询商品，查询条件允许为空，显示所有的商品，按默认排序
         * @param production_name 商品名称
         * @param order_by order_by 排序 排序规则（0-综合；1-销量；2-满意度；3-关注度）
         * @returns {AnimateRunner.promise|*|qFactory.Deferred.promise|td.f.promise|f.promise}
         * {
         * seller_id int  商家id
         * seller_name 商家名字
         * goods_id int 商品id
         * picture 商品地址
         * goods_array 商品和货品名称 name和规格 value 串 json数据格式({"name":"法国进口红酒 塞莱斯城堡干红葡萄酒 整箱装 750ml*6瓶","goods_id":"2207667","value":"颜色:红"})
         * goods_price float 原价
         * real_price float 实付金额
         * }
         */
        function searchProduction(production_name,order_by){
            var deferred = $q.defer();
            HttpUtilService.httpPostNoToken("Search/Production",{production_name:production_name,order_by:order_by})
                .then(function (response) {
                    if(response.code == "000000"){
                        deferred.resolve(response.ProvisionInfo)
                    } else {
                        console.log("searchProduction code:"+ response.code)
                    }
                },function (error) {
                    console.log("searchProduction error:"+ error)
                })
            return deferred.promise;
        }
        return {
            searchJoinIn:searchJoinIn,
            searchProduction:searchProduction
        }
    })

